#include "ClienteControl.h"
#include "../../Common/Src/Socket.h"
#include "../../Common/Src/ProtocoloControl.h"

ClienteControl::ClienteControl() {
}

ClienteControl::~ClienteControl() {
}

bool ClienteControl::detenerServidor(const std::string& ip, unsigned int puerto) {//IP, Puerto, Configuracion?
	bool detenidoConExito = false;
	Socket sockControl;
	bool conexionOK = sockControl.connect(ip , puerto);
	if(conexionOK) {
		ProtocoloControl protocoloControl(sockControl);
		try {
			protocoloControl.enviarOperacionDetenerServidor();
			protocoloControl.recibirRespuestaDetenido(&detenidoConExito);
		}catch(ProtocoloControlException&) {
			// fixme: pablo "ERROR AL ENVIAR O RECIBIR". CIERRE DE CONEXION INESPERADO
		}
	}
	sockControl.shutdown();
	sockControl.close();
	return detenidoConExito;
}
